/**
 * 1. Web开发过程中如何创建⼯⼚
 * ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
 * 使用WebXmlApplicationContext()
 * <p>
 * 2. 如何保证⼯⼚唯⼀同时被共⽤
 * 2.1 考虑被共⽤：Web request|session|ServletContext(application)
 * ⼯⼚存储在ServletContext这个作⽤域中  共用
 * ServletContext.setAttribute("xxxx",ctx);
 * 2.2 唯⼀：ServletContext对象 创建的同时 --> ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
 * <p>
 * ServletContextListener ---> ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
 * ServletContextListener 在ServletContext对象创建的同时，被调⽤(只会被调⽤⼀次) ，把⼯⼚创建的代码，写在ServletContextListener中，也会保证只调⽤
 * ⼀次，最终⼯⼚就保证了唯⼀性
 * <p>
 * 3. 总结
 * ServletContextListener(唯⼀)
 * ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
 * ServletContext.setAttribute("xxx",ctx) (共⽤)
 * 4. Spring封装了⼀个ContextLoaderListener
 * 4.1 创建⼯⼚
 * 4.2 把⼯⼚存在ServletContext中
 */
package com.study.ssm.web;